<!DOCTYPE html>
            
<HTML>
<HEAD>
<meta name="booktitle" content="Developing Applications With Objective Caml" >
 <meta charset="ISO-8859-1"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<META name="GENERATOR" content="hevea 1.05-7 of 2000-02-24">
<META NAME="Author" CONTENT="Christian.Queinnec@lip6.fr">
<LINK rel=stylesheet type="text/css" href="videoc-ocda.css">
<script language="JavaScript" src="videoc.js"><!--
//--></script>
<TITLE>
 Program Memory
</TITLE>
</HEAD>
<BODY class="regularBody">
<A HREF="book-ora083.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora085.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2> Program Memory</H2>
<A NAME="@concepts174"></A>
<A NAME="@concepts175"></A>
<A NAME="@concepts176"></A>
<A NAME="@concepts177"></A>
<A NAME="@concepts178"></A>
<A NAME="@concepts179"></A>
<A NAME="@concepts180"></A>
<A NAME="@concepts181"></A>
A machine code program is a sequence of instructions manipulating
values in memory. Memory consists generally of the following
elements:
<UL>
<LI>
 processor registers (for direct and fast access),

<LI> the stack,

<LI> a data segment (static allocation region),

<LI> the heap (dynamic allocation region).
</UL>
Only the stack and the dynamic allocation region can change in size
during the execution of a program. Depending on the programming
language used, some control over these classes of memory can be
exercised. Whereas the program instructions (code) usually reside in static
memory, dynamic linking (see page
<A HREF="book-ora077.html#sec-mod-dynlink">??</A>) makes use of dynamic memory.<BR>
<BR>
<HR>
<A HREF="book-ora083.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora085.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
